package presentation.view.consulta;

import domain.controller.ConsultaController;
import javax.swing.JFrame;
import domain.pojo.Consulta;
import domain.pojo.Medico;
import domain.pojo.Paciente;
import javax.swing.JOptionPane;
import presentation.view.JanelaInicial;
import presentation.view.MainFrame;
import util.Execucao;
import util.TableHelper;

/**
 *
 * @author Owner
 */
public class ConsultaListar extends TableHelper{
    static JFrame Janela;
    
    Object[][] data;
    String[] nomeDasColunas = {"Codigo.","Paciente","Médico"};
    int quantidade;
    //private boolean admin = false;
    private String texto = "funcionário";

    public ConsultaListar() {
	ConsultaController cc = new ConsultaController();
	quantidade = cc.getQuantidadeFinalizados();
	data = cc.getNaoFinalizados(quantidade);
	
	iniciaTabela( nomeDasColunas, data, quantidade,1,"Nome");
	this.setOpaque(true);
    }

    @Override
    public void eventoAlterar(String helper) {
	int row = getAtual(helper);
	Paciente p = new Paciente();
	Medico m = new Medico();
	
	p.setId(Integer.parseInt(data[row][5].toString()));
	m.setId(Integer.parseInt(data[row][6].toString()));
	
	Consulta consulta = new Consulta(p,m,data[row][0].toString());
	MainFrame.getInstance().alterarPainel(new ConsultaAdicionarAlterar(consulta), this);
    }

    @Override
    public void eventoExcluir(String helper){
	int row = getAtual(helper);
	String codigo = data[row][0].toString();

	if(Execucao.user.getTipo() == 0){
	    if( JOptionPane.showConfirmDialog(null,"Confirma remoção da consulta " + codigo + "?", "POO", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION ){
		ConsultaController modelo = new ConsultaController();
		modelo.excluir( (data[row][0].toString()));
		MainFrame.getInstance().alterarPainel(new ConsultaListar(), JanelaInicial.getInstance());
	    }
	}else{
	    JOptionPane.showMessageDialog(null, "Você deve ser admin para realizar essa operação.", "POO", JOptionPane.INFORMATION_MESSAGE);
	}
    }

    @Override
    public void eventoAdicionar() {
	MainFrame.getInstance().alterarPainel(new ConsultaEspecialidade(), this);
    }

    @Override
    public String getNomeButtonAdicionar() {
	return "Adicionar novo "+texto;
    }

    @Override
    public void eventoJanelaDetalhe(String helper) {
	//TODO UAT?
    }
}
